Packagesora.graybox
Classpublic final class GrayBoxSound
InheritanceGrayBoxSound Inheritance Object

GrayBoxSoundクラスはGrayBoxの音源システムに flash.media.Soundクラスを含めて、 単体でストリーミング再生を行えるようにしたクラスです.

[GrayBoxクラスのリファレンスに記載のサンプルプログラムを、GrayBoxSoundで置き換えた例]

============= Main.as =============
package {
import flash.display.Sprite;
import flash.events.SampleDataEvent;
import flash.media.Sound;
import flash.utils.ByteArray;
import sora.graybox.GrayBoxSound;

public class Main extends Sprite {
    
    public var grayBox:GrayBoxSound;    // GrayBoxSoundオブジェクト(モジュラーホスト)
    public var noiseGen:NoiseGenerator; // ノイズジェネレーター(モジュール)
    
    // コンストラクター
    public function Main():void {
    // エントリーポイント -->
    // GrayBoxSoundの構築 -->
        // 第1引数 : オーディオバッファサイズ ( 1~ ) FLASH,AIR環境は2048~8192フレーム
        // 第2引数 : モジュールスロット数     ( 1~ ) 今回はモジュールが1つなので1
        grayBoxSound = new GrayBoxSound(4096, 1);
    // 各GrayBoxモジュールの構築 -->
        // ノイズ音を出力し続けるモジュール
        noiseGen = new NoiseGenerator();
    // モジュールの接続 -->
        // GrayBoxSound.attachModule()メソッドを使用し、ホストへモジュールを接続します。
        // 第1引数 : 接続するスロットのインデックス
        // 第2引数 : 接続するモジュールオブジェクト
        // 接続されたモジュールは接続スロットの先頭から順に処理が行われます。
        grayBoxSound.attachModule(0, noiseGen);
    // ストリーミングの開始 -->
        grayBoxSound.play();
    }
}
}
===================================

See also

sora.graybox.GrayBox


Public Properties
 PropertyDefined By
  soundChannel : SoundChannel
[read-only]
GrayBoxSound
Public Methods
 MethodDefined By
  
GrayBoxSound(audioBufferSize:int = 4096, modules:int = 4)
GrayBoxSoundオブジェクトを構築します.
GrayBoxSound
  
指定したインデックスのスロットにモジュールを接続します.
GrayBoxSound
  
bypassProcess(index:int, bypass:Boolean):void
指定したインデックスのモジュールスロットの、オーディオプロセスのバイパスを設定します.
GrayBoxSound
  
指定したインデックスのスロットに接続されているモジュールの接続を解除します.
GrayBoxSound
  
オーディオバッファサイズを取得します.
GrayBoxSound
  
getBypassStatus(index:int):Boolean
指定したインデックスのモジュールスロットのバイパス状況を取得します.
GrayBoxSound
  
指定したインデックスのスロットに接続されているモジュールオブジェクトへの参照を取得します.
GrayBoxSound
  
音源システムのモジュールスロット数を取得します.
GrayBoxSound
  
initialize():void
音源システムに接続されているモジュールの接続を全て解除し、初期化します.
GrayBoxSound
  
接続されている全てのモジュールを初期化します.
GrayBoxSound
  
isPause():Boolean
GrayBoxの音声処理が停止されているかを真偽値で取得します.
GrayBoxSound
  
isPlay():Boolean
ストリーミング再生が開始されているかを真偽値で取得します.
GrayBoxSound
  
pause():void
GrayBoxの音声処理を一時停止します。 ストリーミング再生が開始されていない場合はなにも行いません.
GrayBoxSound
  
play():SoundChannel
ストリーミング再生とGrayBoxの音声処理を開始します.
GrayBoxSound
  
接続されている全てのモジュールの状態をリセットします.
GrayBoxSound
  
resume():void
一時停止中のGrayBoxの音声処理を再開します。 ストリーミング再生が開始されていない場合はなにも行いません.
GrayBoxSound
  
setAudioBufferSize(size:int):int
オーディオバッファサイズを設定します.
GrayBoxSound
  
setModuleSlots(num:int):int
音源システムのモジュールスロット数を設定します.
GrayBoxSound
  
stop():void
ストリーミング再生とGrayBoxの音声処理を停止します.
GrayBoxSound
Property Detail
soundChannelproperty
soundChannel:SoundChannel  [read-only]


Implementation
    public function get soundChannel():SoundChannel
Constructor Detail
GrayBoxSound()Constructor
public function GrayBoxSound(audioBufferSize:int = 4096, modules:int = 4)

GrayBoxSoundオブジェクトを構築します.

Parameters
audioBufferSize:int (default = 4096) — オーディオバッファサイズ (2048 or 4096 or 8192)
 
modules:int (default = 4) — モジュールのスロット数 (1 - 無制限)
Method Detail
attachModule()method
public function attachModule(index:int, module:IGrayBoxModule):IGrayBoxModule

指定したインデックスのスロットにモジュールを接続します.

接続後、モジュールのIGrayBoxModule.connectModule()メソッドが呼ばれます。 既にモジュールが接続されている場合は、そのモジュールの接続解除を行った後に接続を行います。 モジュールの接続が解除された際にはIGrayBoxModule.disconnectModule()メソッドが呼ばれます。

Parameters

index:int — 0から始まるスロットのインデックス値
 
module:IGrayBoxModule — 接続するモジュール

Returns
IGrayBoxModule — 正常に接続できた場合、接続したモジュールへの参照が返ります。 範囲外のインデックスを指定した場合はnullが返ります。

See also

bypassProcess()method 
public function bypassProcess(index:int, bypass:Boolean):void

指定したインデックスのモジュールスロットの、オーディオプロセスのバイパスを設定します.

オーディオプロセスをバイパス(true)するとモジュールの音声処理が行われません (process()メソッド実行時にIGrayBoxModule.process()メソッドがスキップされます)。 バイパスフラグ設定後、該当スロットに接続されているモジュールの IGrayBoxModule.updateBypassStatus()メソッドが呼ばれます。

Parameters

index:int — 0から始まるスロットのインデックス値
 
bypass:Booleantrueでバイパス

See also

detachModule()method 
public function detachModule(index:int):IGrayBoxModule

指定したインデックスのスロットに接続されているモジュールの接続を解除します.

モジュールの接続が解除された際にIGrayBoxModule.disconnectModule()メソッドが呼ばれます。

Parameters

index:int — 0から始まるスロットのインデックス値

Returns
IGrayBoxModule — 接続されているモジュールへの参照。 指定したインデックスのスロットにモジュールが接続されていない場合はnullを返します。 範囲外のインデックスを指定した場合も同様です。

See also

getAudioBufferSize()method 
public function getAudioBufferSize():int

オーディオバッファサイズを取得します.

Returns
int — バッファサイズ
getBypassStatus()method 
public function getBypassStatus(index:int):Boolean

指定したインデックスのモジュールスロットのバイパス状況を取得します.

対象のモジュールスロットがバイパスされている場合、trueを返します。 指定したインデックスのスロットにモジュールが接続されていない場合、 および範囲外のインデックスを指定した場合、trueを返します。

Parameters

index:int — 0から始まるスロットのインデックス値

Returns
Boolean — モジュールスロットのバイパス状況
getModule()method 
public function getModule(index:int):IGrayBoxModule

指定したインデックスのスロットに接続されているモジュールオブジェクトへの参照を取得します.

スロットにモジュールが接続されていない場合はnullを返します。 範囲外のインデックスを指定した場合も同様にnullを返します。

Parameters

index:int — 0から始まるスロットのインデックス値

Returns
IGrayBoxModule — モジュールオブジェクトへの参照
getModuleSlots()method 
public function getModuleSlots():int

音源システムのモジュールスロット数を取得します.

Returns
int — モジュールスロット数
initialize()method 
public function initialize():void

音源システムに接続されているモジュールの接続を全て解除し、初期化します. サウンドの再生中であれば停止します。

初期化される内容は次の通りです。 モジュールの接続が解除された際にIGrayBoxModule.disconnectModule()メソッドが呼ばれます。

See also

initiModules()method 
public function initiModules():void

接続されている全てのモジュールを初期化します.

resetModule()メソッドと機能が重複しますが、こちらは工場出荷時に戻すような強い初期化です。 モジュールのIGrayBoxModule.initiModule()メソッドが呼ばれます。

See also

isPause()method 
public function isPause():Boolean

GrayBoxの音声処理が停止されているかを真偽値で取得します.

Returns
Boolean — 停止されていればtrue
isPlay()method 
public function isPlay():Boolean

ストリーミング再生が開始されているかを真偽値で取得します.

Returns
Boolean — ストリーミング再生が開始されていればtrue 完全に停止中であればfalse
pause()method 
public function pause():void

GrayBoxの音声処理を一時停止します。 ストリーミング再生が開始されていない場合はなにも行いません.

併せて接続されているモジュールにIGrayBoxModule.suspendProcess() メソッドを通じて音声処理が一時停止されたことを伝えます.

See also

play()method 
public function play():SoundChannel

ストリーミング再生とGrayBoxの音声処理を開始します.

併せて接続されているモジュールにIGrayBoxModule.startProcess() メソッドを通じて音声処理が開始されたことを伝えます.

Returns
SoundChannel — SoundChannelオブジェクト。 再生可能なオーディオデバイスが無いなどで正常に開始できなかった場合、nullが返ります。

See also

resetModules()method 
public function resetModules():void

接続されている全てのモジュールの状態をリセットします.

initiModules()メソッドと機能が重複しますが、こちらは一時的なパラメータを戻すような弱い初期化です。 モジュールのIGrayBoxModule.resetModule()メソッドが呼ばれます。

See also

resume()method 
public function resume():void

一時停止中のGrayBoxの音声処理を再開します。 ストリーミング再生が開始されていない場合はなにも行いません.

併せて接続されているモジュールにIGrayBoxModule.resumeProcess() メソッドを通じて音声処理が再開されたことを伝えます.

See also

setAudioBufferSize()method 
public function setAudioBufferSize(size:int):int

オーディオバッファサイズを設定します.

設定後、接続しているモジュールのIGrayBoxModule.updateProcessBlockSize()メソッドが呼ばれます。

Parameters

size:int — バッファサイズ(2048,4096,8192)

Returns
int — 設定されたバッファサイズ

See also

setModuleSlots()method 
public function setModuleSlots(num:int):int

音源システムのモジュールスロット数を設定します.

現在のモジュールスロット数より小さい値を設定した場合、 その範囲のインデックスに接続されているモジュールの接続が解除されます。 モジュールの接続が解除された際にIGrayBoxModule.disconnectModule()メソッドが呼ばれます。

Parameters

num:int — 設定するモジュールスロット数

Returns
int — 設定後のモジュールスロット数

See also

stop()method 
public function stop():void

ストリーミング再生とGrayBoxの音声処理を停止します.

併せて接続されているモジュールにIGrayBoxModule.stopProcess() メソッドを通じて音声処理が停止されたことを伝えます.

See also